1
El paradigma funcional: Transformación sobre mutación
AI019Lesson 2
00:00

El paradigma funcional cambia el modelo mental del desarrollador de "actualizar una caja con estado" a aplicar transformaciones matemáticas a valores inmutables. En Elixir, los datos nunca se modifican; simplemente nacen nuevamente en nuevas formas.

1. La afirmación matemática

Cuando escribes $x = a + 1$, no estás asignando un resultado a una variable. En cambio, simplemente afirmando que las expresiones $x$ y $a + 1$ tienen el mismo valor. Esto refleja la lógica algebraica donde $x$ representa un valor fijo en un contexto específico.

2. Inmutabilidad como garantía

En Elixir, todos los valores son inmutables. Los datos no pueden alterarse una vez creados. Esto elimina los "efectos secundarios" donde una función podría cambiar inesperadamente una variable global o un objeto pasado por parámetro, asegurando que el código sea predecible y seguro para hilos.

ANTES (Entrada)"elixir"String.capitalizeDESPUÉS (Resultado)"Elixir"Los datos originales permanecen sin cambios

3. Transformación frente a mutación

Nunca modificamos los datos in situ. Elixir no tiene asignación; en cambio, intenta hacer coincidir valores con patrones. Para "cambiar" un valor, pasamos los datos originales a través de una función para producir una versión completamente nueva.

iex> name = "elixir"
"elixir"
iex> cap_name = String.capitalize name
"Elixir"
iex> name
"elixir" (¡Todavía impecable!)
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>